import store from "../store";
import Cache from '../utils/cache';
import {
	Debounce
} from '@/utils/validate.js'
// #ifdef H5
// import { isWeixin } from "../utils";
// import auth from './wechat';
// #endif

import {
	LOGIN_STATUS,
	USER_INFO,
	EXPIRES_TIME,
	STATE_R_KEY,
	BACK_URL
} from './../config/cache';

function prePage() {
	let pages = getCurrentPages();
	let prePage = pages[pages.length - 1];
	return prePage.route;
}

export const toLogin = Debounce(_toLogin, 800)

export function _toLogin(push, pathLogin) {

	store.commit("LOGOUT");
	let path = prePage();


 
	 
	// #ifdef H5
	// path = location.href;
	path = location.pathname + location.search;
	// #endif
	if (!pathLogin) {
		pathLogin = '/page/index/login'
		Cache.set('login_back_url', path);
	}
	let login_back_url = Cache.get(BACK_URL);
	// #ifdef H5
	// if (isWeixin()) {
	// 	let urlData = location.pathname + location.search
	// 	if (urlData.indexOf('?') !== -1) {
	// 		urlData += '&go_longin=1';
	// 	} else {
	// 		urlData += '?go_longin=1';
	// 	}
	// 	if (!Cache.has('snsapiKey')) {
	// 		auth.oAuth('snsapi_base', urlData);
	// 	} else {
	// 		if (['/pages/user/index'].indexOf(login_back_url) == -1) {
	// 			uni.navigateTo({
	// 				url: '/pages/users/wechat_login/index'
	// 			})
	// 		}
	// 	}
	// } else {
	// 	if (['/pages/user/index'].indexOf(login_back_url) == -1) {
	// 		uni.navigateTo({
	// 			url: '/pages/users/login/index'
	// 		})
	// 	}
	// }
	// #endif



	if (login_back_url == 'pages/my/drugOrderList') {
 
		uni.showModal({
			title: '提示',
			content: '当前用户未登录，无法查看订单信息',

			success: function(res) {
				if (res.confirm) {

					// #ifdef MP
					// uni.navigateTo({
					// 	url: '/pages/users/wechat_login/index'
					// })
					Cache.set('login_back_url', path);
					uni.navigateTo({
						url: '/pagesSub/index/index'
					})
					// #endif


				} else {

				}
			}
		})
		return
	} else {

	}




	if (['pages/user/index', '/pages/user/index'].indexOf(login_back_url) == -1) {
		// #ifdef MP
		// uni.navigateTo({
		// 	url: '/pages/users/wechat_login/index'
		// })
		uni.navigateTo({
			url: '/pagesSub/index/index'
		})
		// #endif
	}
}


export function checkLogin() {
	let token = Cache.get(LOGIN_STATUS);
	let expiresTime = Cache.get(EXPIRES_TIME);
	let newTime = Math.round(new Date() / 1000);
	if (expiresTime < newTime || !token) {
		Cache.clear(LOGIN_STATUS);
		Cache.clear(EXPIRES_TIME);
		Cache.clear(USER_INFO);
		Cache.clear(STATE_R_KEY);
		return false;
	} else {
		store.commit('UPDATE_LOGIN', token);
		let userInfo = Cache.get(USER_INFO, true);
		if (userInfo) {
			store.commit('UPDATE_USERINFO', userInfo);
		}
		return true;
	}

}